#include <iostream>
#include <vector>
using namespace std;
class sirNumere
{
    vector <int> v;
    int nr_elem;
public:
    sirNumere();
    sirNumere(int);
    ~sirNumere();
    void read();
    void print();
    int minim();
    int maxim();
    void sort();
    void addElement(int);
    sirNumere intercalare(sirNumere);
    sirNumere operator+(sirNumere);
    sirNumere operator*(sirNumere);
    bool operator==(sirNumere);
    int operator[](int);
};

sirNumere::sirNumere()
{
    cout<<"Nr elemente:";
    cin>>nr_elem;
    cout<<endl;
    v.resize(nr_elem);
}
sirNumere::sirNumere(int x)
{
    nr_elem=x;
    v.resize(nr_elem);
}
sirNumere::~sirNumere() {}

void sirNumere::read()
{
    cout<<"available: "<<v.size()<<endl;
    for (int i=0;i<nr_elem;i++)
    {
        int temp;
        cout<<"Valoare=";
        cin>>temp;
        v[i]=temp;
    }
}

void sirNumere::print()
{
    for (int i=0;i<nr_elem;i++)
        cout<<v[i]<<' ';
}

int sirNumere::minim()
{
    int min=v[0];
    for (int i=1;i<nr_elem;i++)
        if (v[i]<min) 
            min=v[i];
    return min;
}
int sirNumere::maxim()
{
    int max=v[0];
    for (int i=1;i<nr_elem;i++)
        if (v[i]>max) 
            max=v[i];
    return max;
}
void sirNumere::sort()
{
    for (int i=0;i<nr_elem;i++)
        for (int j=0;j<nr_elem;j++)
            if (v[i]<v[j])
            {
                int temp=v[i];
                v[i]=v[j];
                v[j]=temp;
            }
}

void sirNumere::addElement(int x)
{
    v.resize(nr_elem+1);
    nr_elem++;
    v[nr_elem]=x;
}
sirNumere sirNumere::operator+(sirNumere s1)
{
    sirNumere result(nr_elem+s1.nr_elem);
    int i=0,j=0;
    for (i=0;i<nr_elem;i++)
    {
        result.v[i]=v[i];
    }
    for (j=0;j<s1.nr_elem;j++,i++)
        result.v[i]=s1.v[j];
    return result;
}

sirNumere sirNumere::operator*(sirNumere s1)
{
    
}

bool sirNumere::operator==(sirNumere s1)
{
    
    if (nr_elem != s1.nr_elem)
        return false;
    else {
        for (int i=0;i<nr_elem;i++)
            if (v[i]!=s1.v[i])
                return false;
    }
    return true;
    
}
int sirNumere::operator[](int i)
{
    return v[i];
}

sirNumere sirNumere::intercalare(sirNumere s1)
{
    sirNumere result(0);
    result= *this + s1;
    result.sort();
    return result;
}
int main()
{
    sirNumere a,b,c(0);
    a.read();
    b.read();
    a.sort();
    int i=0;
    while (a[i]<b.minim())
    {
        cout<<a[i]<<' ';
        i++;
    }
}